Skip to content

fix: module info setup#2158

Merged
triceo merged 12 commits intoTimefoldAI:mainfrom
TomCools:fix/module-info-order
Mar 6, 2026
Merged

fix: module info setup#2158
triceo merged 12 commits intoTimefoldAI:mainfrom
TomCools:fix/module-info-order

Conversation

@TomCools
Copy link
Contributor

@TomCools TomCools commented Mar 3, 2026

I have added some missing imports, but also updated some of the "requires" to be "transitive" to closer align to our Maven setup, at least of our Solver jars. We might expand this idea to also other jars we load transitively.

Also added "requires static" for optional dependencies. This ensure the module is only needed at compile time, but is otherwise fully optional.

TomCools added 2 commits March 3, 2026 16:53
Instead of forcing downstream dependencies to also "requires ai.timefold.solver.core", used a transitive dependency.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts JPMS module-info.java declarations across Timefold Solver modules to better reflect Maven transitive/optional dependency behavior, and updates the JPMS documentation accordingly.

Changes:

  • Promote several requires directives to requires transitive to mirror Maven transitive dependencies (core integrations, Spring Boot starter, Quarkus runtime/integrations, persistence modules).
  • Mark selected dependencies as requires static for optional features (notably Spring Boot autoconfigure’s benchmark support).
  • Improve JPMS documentation with updated guidance and an example error message.

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tools/benchmark/src/main/java/module-info.java Makes core dependency transitive for benchmark consumers.
spring-integration/spring-boot-starter/src/main/java/module-info.java Exposes autoconfigure transitively via the starter module.
spring-integration/spring-boot-integration-test/src/main/java/module-info.java Aligns integration-test module dependency on the starter instead of core.
spring-integration/spring-boot-autoconfigure/src/main/java/module-info.java Adds exports/opens and adjusts requires (static/transitive) for Spring Boot autoconfigure.
quarkus-integration/quarkus/runtime/src/main/java/module-info.java Makes solver core transitive and adjusts exported packages.
quarkus-integration/quarkus/reflection-integration-test/src/main/java/module-info.java Aligns test module dependency on Quarkus integration module.
quarkus-integration/quarkus/integration-test/src/main/java/module-info.java Aligns test module dependency on Quarkus integration module.
quarkus-integration/quarkus/devui-integration-test/src/main/java/module-info.java Aligns test module dependency on Quarkus integration module.
quarkus-integration/quarkus/deployment/src/main/java/module-info.java Refactors deployment module requires (including transitive Quarkus runtime).
quarkus-integration/quarkus-jackson/runtime/src/main/java/module-info.java Makes solver core transitive for Quarkus Jackson runtime consumers.
quarkus-integration/quarkus-jackson/integration-test/src/main/java/module-info.java Aligns test module dependency on Quarkus Jackson module.
quarkus-integration/quarkus-jackson/deployment/src/main/java/module-info.java Adjusts deployment module exports/requires for Quarkus Jackson extension.
quarkus-integration/quarkus-benchmark/runtime/src/main/java/module-info.java Makes benchmark + quarkus dependencies transitive for runtime consumers.
quarkus-integration/quarkus-benchmark/integration-test/src/main/java/module-info.java Aligns test module dependency on Quarkus benchmark module.
quarkus-integration/quarkus-benchmark/deployment/src/main/java/module-info.java Adjusts deployment module requires to depend on Quarkus deployment module.
persistence/jpa/src/main/java/module-info.java Makes solver core transitive for JPA persistence consumers.
persistence/jaxb/src/main/java/module-info.java Makes solver core transitive for JAXB persistence consumers.
persistence/jackson/src/main/java/module-info.java Makes solver core transitive for Jackson persistence consumers.
docs/src/modules/ROOT/pages/integration/integration.adoc Updates JPMS docs with stronger guidance and an error example.
core/src/main/java/module-info.java Adjusts exports/opens, including broader access to a Gizmo accessor package and an additional JAXB open.

You can also share your feedback on Copilot code review. Take the survey.

Copy link
Collaborator

@triceo triceo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM when comments resolved one way or another.

…java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated 4 comments.


You can also share your feedback on Copilot code review. Take the survey.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated no new comments.


You can also share your feedback on Copilot code review. Take the survey.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 6, 2026

@triceo triceo merged commit fa1f273 into TimefoldAI:main Mar 6, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants